import { stringify } from 'qs';
import request from '@/utils/request';

export async function queryProjectNotice() {
  return request('/api/project/notice');
}

export async function queryFakeList(params) {
  return request(`/api/fake_list?${stringify(params)}`);
}

export async function removeFakeList(params) {
  const { count = 5, ...restParams } = params;
  return request(`/api/fake_list?count=${count}`, {
    method: 'POST',
    body: {
      ...restParams,
      method: 'delete',
    },
  });
}

export async function addFakeList(params) {
  const { count = 5, ...restParams } = params;
  return request(`/api/fake_list?count=${count}`, {
    method: 'POST',
    body: {
      ...restParams,
      method: 'post',
    },
  });
}

export async function updateFakeList(params) {
  const { count = 5, ...restParams } = params;
  return request(`/api/fake_list?count=${count}`, {
    method: 'POST',
    body: {
      ...restParams,
      method: 'update',
    },
  });
}

export async function checkLogin(params) {
  if (!params.token) return;
  return request(`/server/api/login/checkLogin?${stringify(params)}`, {
    method: 'POST',
    body: params,
  });
}

export async function fakeAccountLogin(params) {
  return request(`/server/api/login/login`, {
    method: 'POST',
    body: params,
  });
}

export async function fakeAccountLogout() {
  const token = localStorage.getItem('token');
  const params = { token };
  return request(`/server/api/login/logout?${stringify(params)}`, {
    method: 'POST',
    body: params,
  });
}

export async function fakeRegister(params) {
  return request('/api/register', {
    method: 'POST',
    body: params,
  });
}

export async function queryNotices(params = {}) {
  return request(`/api/notices?${stringify(params)}`);
}

export async function getFakeCaptcha(mobile) {
  return request(`/api/captcha?mobile=${mobile}`);
}

export async function getMenuAuthority() {
  return request('/server/api/mds-menu/selectList', {
    method: 'POST',
    body: {},
  });
}

export async function fakeChartData() {
  return request('/api/fake_chart_data');
}